
abstract class DioHttpException implements  Exception{
  final String message;
  const DioHttpException(this.message);
}


class NetworkException extends DioHttpException{
  final int code;
  const NetworkException(this.code, super.message);
}

class HttpStatusException extends DioHttpException{
  final int code;
  const HttpStatusException(this.code, super.message);
}

class TokenException extends DioHttpException{
  final int code;
  const TokenException(this.code, super.message);
}

class ErrorException extends DioHttpException{
  final int code;
  const ErrorException(this.code, super.message);
}

class MethodException extends DioHttpException{
  final int code;
  const MethodException(this.code, super.message);
}

class OtherException extends DioHttpException{
  final int code;
  const OtherException(this.code, super.message);
}

class SslException extends DioHttpException{
  final int code;
  const SslException(this.code, super.message);
}

class DataException extends DioHttpException{
  final int code;
  const DataException(this.code, super.message);
}

class CancelException extends DioHttpException{
  final int code;
  const CancelException(this.code, super.message);
}